package xin.clips.system.mapper;

import java.util.List;
import xin.clips.system.domain.SysVisitLog;

/**
 * 系统访问日志Mapper接口
 *
 * @author yuanzy
 * @date 2023-02-27
 */
public interface SysVisitLogMapper
{
    /**
     * 查询系统访问日志
     *
     * @param visitId 系统访问日志主键
     * @return 系统访问日志
     */
    public SysVisitLog selectSysVisitLogByVisitId(Long visitId);

    /**
     * 查询系统访问日志列表
     *
     * @param sysVisitLog 系统访问日志
     * @return 系统访问日志集合
     */
    public List<SysVisitLog> selectSysVisitLogList(SysVisitLog sysVisitLog);

    /**
     * 根据日期统计查询每日访问量
     *
     * @param sysVisitLog 系统访问日志
     * @return 系统访问日志集合
     */
    public List<SysVisitLog> selectVisitDayAnalyByTime(SysVisitLog sysVisitLog);




    /**
     * 新增系统访问日志
     *
     * @param sysVisitLog 系统访问日志
     * @return 结果
     */
    public int insertSysVisitLog(SysVisitLog sysVisitLog);

    /**
     * 修改系统访问日志
     *
     * @param sysVisitLog 系统访问日志
     * @return 结果
     */
    public int updateSysVisitLog(SysVisitLog sysVisitLog);

    /**
     * 删除系统访问日志
     *
     * @param visitId 系统访问日志主键
     * @return 结果
     */
    public int deleteSysVisitLogByVisitId(Long visitId);

    /**
     * 批量删除系统访问日志
     *
     * @param visitIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysVisitLogByVisitIds(String[] visitIds);
    /**
     * 清空访问日志
     */
    public void cleanVisitLog();


    /**
     * 用户访问日志统计
     * @return
     */
    public List<SysVisitLog> selectVisitLogByModuleName();

    /**
     * 用户访问量统计 top3
     * @return
     */
    public List<SysVisitLog> selectVisitTop3(SysVisitLog sysVisitLog);


    /**
     * 返回用户访问日志的总记录数
     *
     * @return 用户访问日志的总记录数
     */
    public Long selectTotal();
}
